Lifecycle management process execution is one of the major cost contributors for IT departments running both on-premise software and on-demand solutions. One of the primary costs associated with lifecycle management is handling incidents that occur during the process's execution. Lifecycle management processes can fail for a variety of reasons, including the processing of content in an associated system during execution of a lifecycle management process on that system, errors within or during the lifecycle management procedure, errors within the shipped content (i.e., a software upgrade), or errors in the receiving system. Issues in lifecycle management processes are sometimes associated with the specific objects within the system in which the lifecycle management process is executing. Further, the number of errors due to those specific objects increases with the total number of objects in the system, such as for entities where many objects are associated with the lifecycle management process.
During the execution of lifecycle management processes for a system (e.g., moving data for a tenant in an on-demand system to another system, upgrading a system to newer software, or performing a system copy), objects within the system are processed. The number of objects processed and how those objects are processed depends on the lifecycle management process and its parameters. During a software upgrade, for example, generated objects may need to be re-generated to adjust to the new software environment. During the processing of objects, errors frequently occur, generally causing the lifecycle management process to stop when an error is identified. Stopping a lifecycle management process and analyzing the process is costly, both in terms of the time to perform the lifecycle management process as a whole, and the time it may take for an administrator or other service entity to correct the identified error. In some instances, the downtime caused by these errors may violate certain service level agreements for the associated software and/or hosting operations, such as a requirement as a percentage of uptime or the maximum amount of potential downtime for a system.